package ${package.Service};

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import ${superServiceClassPackage};
import ${package.Entity}.${entity};
<#if "true" == cfg.createAdd>
import com.han.fu.api.business.model.ao.${entity}AddAo;
</#if>
<#if "true" == cfg.createUpdate>
import com.han.fu.api.business.model.ao.${entity}UpdateAo;
</#if>
<#if "true" == cfg.createPage>
import com.han.fu.api.business.model.ao.${entity}PageAo;
import com.han.fu.api.business.model.vo.${entity}Vo;
</#if>
<#if "true" == cfg.createDetail>
import com.han.fu.api.business.model.vo.${entity}InfoVo;
</#if>
<#if "true" == cfg.createExport>
import com.han.fu.api.business.model.vo.${entity}ExcelVo;
</#if>
<#if "true" == cfg.createStats>
import com.han.fu.api.business.model.ao.${entity}StatsAo;
import com.han.fu.api.business.model.vo.${entity}StatsVo;
</#if>
<#if "true" == cfg.createDelete>
import com.han.fu.api.business.model.ao.${entity}DeleteAo;
</#if>

import javax.servlet.ServletOutputStream;
import java.util.List;

/**
 * ${table.comment!}service接口
 *
 * @author ${author}
 * @date ${date}
 */
public interface ${table.serviceName} extends ${superServiceClass}<${entity}> {

<#if "true" == cfg.createPage>
    /**
     * ${table.comment!}分页查询
     *
     * @param ao 分页查询条件
     * @return Page<${entity}Vo> 分页数据
     */
    Page<${entity}Vo> query${entity}Page(${entity}PageAo ao);
</#if>
<#if "true" == cfg.createDetail>

    /**
     * ${table.comment!}明细查询
     *
     * @param id 明细ID
     * @return ${entity}InfoVo 明细
     */
    ${entity}InfoVo query${entity}Detail(String id);
</#if>
<#if "true" == cfg.createAdd>

    /**
     * ${table.comment!}新增数据
     *
     * @param ao 数据
     */
    void add${entity}(${entity}AddAo ao);
</#if>
<#if "true" == cfg.createUpdate>

    /**
     * ${table.comment!}修改数据
     *
     * @param ao 数据
     */
    void update${entity}(${entity}UpdateAo ao);
</#if>
<#if "true" == cfg.createDelete>

    /**
     * ${table.comment!}删除数据
     *
     * @param ao 数据
     */
    void delete${entity}(${entity}DeleteAo ao);
</#if>
<#if "true" == cfg.createExport>

    /**
     * ${table.comment!}导出
     *
     * @param ao 分页查询条件
     * @param outputStream 输出流
     */
    void export${entity}(${entity}PageAo ao , ServletOutputStream outputStream);
</#if>
<#if "true" == cfg.createStats>

    /**
     * ${table.comment!}统计查询
     *
     * @param ao 查询条件
     * @return List<${entity}StatsVo> 统计数据
     */
    List<${entity}StatsVo> query${entity}Stats(${entity}StatsAo ao);
</#if>

}